home *** CD-ROM | disk | FTP | other *** search
- property pWindowName, pSpriteList, pMaxRect, pMinRect, pButtonList, pTextMemberNum, pArtMember, pMediaName, pSaveObj, pPointingCursor, pMemberList, pNArrowObj, pSArrowObj, pSliderObj, pFieldLeft, pFieldTop, pFieldRight, pFieldBottom, pLineHeight, pTracking, pStartX, pStartTop, pStartBottom, pEndTop, pEndX, pEndBottom, pStartSel, pMiddleSel, pEndSel, pRolloverTextObj, pTitle, pPictRect, pBorderRectList, pTextRectList, pCastLib
-
- on new me
- pButtonList = [:]
- pPointingCursor = [member("point hand"), member("point hand mask")]
- return me
- end
-
- on SetScrollProps me
- NArrowSp = getaProp(pSpriteList, #NArrow)
- pNArrowObj = getaProp(pButtonList, NArrowSp)
- SArrowSp = getaProp(pSpriteList, #SArrow)
- pSArrowObj = getaProp(pButtonList, SArrowSp)
- ThumbSp = getaProp(pSpriteList, #VThumb)
- pSliderObj = getaProp(pButtonList, ThumbSp)
- FieldRect = the rect of sprite getaProp(pSpriteList, #text)
- pFieldLeft = getAt(FieldRect, 1)
- pFieldTop = getAt(FieldRect, 2)
- pFieldRight = getAt(FieldRect, 3)
- pFieldBottom = getAt(FieldRect, 4)
- pLineHeight = the textHeight of field pTextMemberNum
- SetPuppetState([7, 9], #c, 1)
- member("texthold f").text = EMPTY
- end
-
- on HiliteText me, clickedSprite
- pTracking = 1
- StartChar = the mouseChar
- repeat while the stillDown
- SelectionScroll(me)
- X = the mouseH
- Y = the mouseV
- if X <= pFieldLeft then
- X = pFieldLeft + 1
- end if
- if X >= pFieldRight then
- X = pFieldRight - 1
- end if
- if Y <= pFieldTop then
- Y = pFieldTop + 1
- end if
- if Y >= pFieldBottom then
- Y = pFieldBottom - 1
- end if
- EndChar = locToCharPos(member(pTextMemberNum), point(X - pFieldLeft, Y - pFieldTop))
- SetSelections(me, StartChar, EndChar)
- SetVisSelections(me)
- end repeat
- CalcFinalSelection(me, StartChar, EndChar)
- pTracking = 0
- end
-
- on SetSelections me, StartChar, EndChar
- TempStart = min(StartChar, EndChar)
- TempEnd = max(StartChar, EndChar)
- StartChar = TempStart
- EndChar = TempEnd
- StartLoc = charPosToLoc(member(pTextMemberNum), StartChar)
- pStartX = getAt(StartLoc, 1) + pFieldLeft
- pStartTop = getAt(StartLoc, 2) + pFieldTop - member(pTextMemberNum).scrollTop + GetHiliteAdjustment(me)
- pStartBottom = pStartTop + pLineHeight
- EndLoc = charPosToLoc(member(pTextMemberNum), EndChar)
- pEndTop = getAt(EndLoc, 2) + pFieldTop - member(pTextMemberNum).scrollTop + GetHiliteAdjustment(me)
- pEndX = getAt(EndLoc, 1) + pFieldLeft
- pEndBottom = pEndTop + pLineHeight
- if pStartTop = pEndTop then
- pStartSel = rect(pStartX, pStartTop, pEndX, pStartBottom)
- pEndSel = #NotUsed
- else
- if pStartTop < pEndTop then
- pStartSel = rect(pStartX, pStartTop, pFieldRight, pStartBottom)
- pEndSel = rect(pFieldLeft, pEndTop, pEndX, pEndBottom)
- end if
- end if
- SetMiddleSelection(me)
- end
-
- on SetMiddleSelection me
- if ilk(pEndSel) = #rect then
- pMiddleSel = rect(pFieldLeft, getAt(pStartSel, 4), pFieldRight, getAt(pEndSel, 2))
- else
- pMiddleSel = pEndSel
- end if
- end
-
- on SetVisSelections me
- set the rect of sprite 7 to getVisSelection(me, pStartSel)
- set the rect of sprite 8 to getVisSelection(me, pEndSel)
- set the rect of sprite 9 to getVisSelection(me, pMiddleSel)
- updateStage()
- end
-
- on getVisSelection me, selRect
- if ilk(selRect) = #rect then
- R = rect(-1, -1, -1, -1)
- if not ((selRect.top > pFieldBottom) or (selRect.bottom < pFieldTop)) then
- R.left = max(selRect.left, pFieldLeft)
- R.top = max(selRect.top, pFieldTop)
- R.right = min(selRect.right, pFieldRight)
- R.bottom = min(selRect.bottom, pFieldBottom)
- end if
- else
- R = rect(-1, -1, -1, -1)
- end if
- return R
- end
-
- on SelectionScroll me
- if the mouseV < pFieldTop then
- if not minReached(pSliderObj) then
- simulateClickOn(pNArrowObj)
- end if
- else
- if the mouseV > pFieldBottom then
- if not maxReached(pSliderObj) then
- simulateClickOn(pSArrowObj)
- end if
- end if
- end if
- end
-
- on scroll me, NewSetting
- diff = NewSetting - (member(pTextMemberNum).scrollTop / pLineHeight)
- increment = diff * pLineHeight
- pStartSel = ScrollMoveSelection(me, pStartSel, increment)
- pEndSel = ScrollMoveSelection(me, pEndSel, increment)
- SetMiddleSelection(me)
- if not pTracking then
- SetVisSelections(me)
- end if
- return me
- end
-
- on ScrollMoveSelection me, SelectionRect, increment
- if ilk(SelectionRect) = #rect then
- SelectionRect.top = SelectionRect.top - increment
- SelectionRect.bottom = SelectionRect.bottom - increment
- end if
- return SelectionRect
- end
-
- on CalcFinalSelection me, StartChar, EndChar
- TempStart = min(StartChar, EndChar)
- TempEnd = max(StartChar, EndChar)
- StartChar = TempStart
- EndChar = TempEnd
- member("texthold f").text = char StartChar to EndChar - 1 of the text of field pTextMemberNum
- if not (member("texthold f").text = EMPTY) then
- enable(getaProp(pButtonList, getaProp(pSpriteList, #CopyButton)))
- else
- disable(getaProp(pButtonList, getaProp(pSpriteList, #CopyButton)))
- end if
- end
-
- on GetHiliteAdjustment me
- if the machineType = 256 then
- return -pLineHeight
- else
- return -pLineHeight
- end if
- end
-
- on HideSelections me
- pStartSel = #NotUsed
- pEndSel = #NotUsed
- pMiddleSel = #NotUsed
- set the rect of sprite 7 to rect(-333, -333, -333, -333)
- set the rect of sprite 8 to rect(-333, -333, -333, -333)
- set the rect of sprite 9 to rect(-333, -333, -333, -333)
- updateStage()
- end
-
- on InitRollOverText me
- rolloverList = []
- setAt(rolloverList, getaProp(pSpriteList, #closeBox), 16)
- setAt(rolloverList, getaProp(pSpriteList, #CopyButton), 13)
- setAt(rolloverList, getaProp(pSpriteList, #PrintButton), 11)
- setAt(rolloverList, getaProp(pSpriteList, #SaveButton), 10)
- setAt(rolloverList, getaProp(pSpriteList, #MaxMinBox), 18)
- pRolloverTextObj = new(script("rollover text"), rolloverList)
- end
-
- on print me
- global gEnvironObj
- if not isMemoryAvailable("print the document", 1200, 500) then
- exit
- end if
- memberNum = pTextMemberNum
- PictMemberNum = GetArtMember(me)
- TitleMember = the number of member "print title f"
- unLoad()
- doc = new(xtra("PrintOMatic"))
- if not objectp(doc) then
- alert("A problem was encountered while initializing the printer.")
- exit
- end if
- pageW = getPageWidth(doc)
- pageH = getPageHeight(doc)
- set the textSize of member TitleMember to 14
- member(TitleMember).rect = rect(0, 0, pageW, 0)
- TitleH = member(TitleMember).height
- picth = member(PictMemberNum).height
- pgNumSym = numToChar(166)
- newPage(doc)
- setTextJust(doc, "centered")
- CurrBottom = TitleH + 3
- newFrame(doc, rect(0, 0, pageW, CurrBottom), 0)
- append(doc, member(TitleMember), 1)
- CurrTop = CurrBottom + 36
- CurrBottom = CurrTop + picth + 3
- newFrame(doc, rect(0, CurrTop, pageW, CurrBottom), 0)
- append(doc, member(PictMemberNum), 1)
- setTextJust(doc, "left")
- CurrTop = CurrBottom + 36
- CurrBottom = pageH - 36
- newFrame(doc, rect(0, CurrTop, pageW, CurrBottom), 0)
- append(doc, member(pTextMemberNum), 1)
- CurrTop = CurrBottom
- CurrBottom = pageH
- newFrame(doc, rect(0, CurrTop, pageW, CurrBottom), 0)
- append(doc, member("copyright HRW").text, 1)
- setDocumentName(doc, "American History")
- if doJobSetup(doc) then
- print(doc)
- end if
- doc = 0
- return me
- end
-
- on save me
- showMe(pSaveObj)
- return me
- end
-
- on doRolloverText me
- doRolloverText(pRolloverTextObj)
- end
-
- on SetSaveObj me
- pSaveObj = new(script("Save Pict Text Var"), me)
- end
-
- on GetSaveObj me
- return pSaveObj
- end
-
- on SetButtonList me, xList
- pButtonList = xList
- end
-
- on GetButtonList me
- return pButtonList
- end
-
- on SetTextMemberNum me, Var
- pTextMemberNum = Var
- end
-
- on GetTextMemberNum me
- return pTextMemberNum
- end
-
- on SetArtMember me, xName
- pArtMember = xName
- end
-
- on GetArtMember me
- return pArtMember
- end
-
- on setTitle me, xName
- pTitle = xName
- end
-
- on getTitle me
- return pTitle
- end
-
- on ResizeScroll me, theThumbLoc, minPixel, maxPixel, initialSetting, numSettings, minSetting, maxSetting
- resize(pSliderObj, theThumbLoc, minPixel, maxPixel, initialSetting, numSettings, minSetting, maxSetting)
- end
-
- on SetPictRect me, xRect
- pPictRect = xRect
- end
-
- on GetPictRect me
- return pPictRect
- end
-
- on SetBorderRect me, xList
- pBorderRectList = xList
- end
-
- on GetBorderRect me, size
- return getAt(pBorderRectList, size)
- end
-
- on GetPointingCursor me
- return pPointingCursor
- end
-
- on SetTextRect me, xList
- pTextRectList = xList
- end
-
- on GetTextRect me, size
- return getAt(pTextRectList, size)
- end
-
- on SetMemberList me, list
- pMemberList = list
- end
-
- on GetMemberList me
- return pMemberList
- end
-
- on SetSpriteList me, list
- pSpriteList = list
- end
-
- on GetSpriteList me
- return pSpriteList
- end
-
- on SetCastLib me, xName
- pCastLib = xName
- end
-
- on GetCastLib me
- return pCastLib
- end
-
- on SetMediaName me, xName
- pMediaName = xName
- end
-
- on GetMediaName me
- return pMediaName
- end
-
- on condemn me
- pButtonList = CondemnList(me, pButtonList)
- condemn(pNArrowObj)
- pNArrowObj = 0
- condemn(pSArrowObj)
- pSArrowObj = 0
- condemn(pSliderObj)
- pSliderObj = 0
- pRolloverTextObj = 0
- condemn(pSaveObj)
- pSaveObj = 0
- return me
- end
-
- on CondemnList me, xList
- MaxCount = count(xList)
- repeat with rc = 1 to MaxCount
- xObj = getAt(xList, rc)
- condemn(xObj)
- setAt(xList, rc, 0)
- end repeat
- return 0
- end
-